2012-12-25 50 views
1

Settings.py常數國際不工作或我不知道如何使它工作

TIME_ZONE = 'Europe/Vilnius' 
LANGUAGE_CODE = 'lt' 
USE_I18N = True 
USE_L10N = True 
USE_TZ = True 

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
) 

如果我添加LocaleMiddleware到中間件類和編輯源代碼,以便將打印我的語言環境,按預期打印lt

此外:

./manage.py makemessages -l lt生成的文件,我翻譯的文本出現次數。

./manage.py compilemessages回報processing file django.po in /Users/aemdy/PycharmProjects/rezervavau_v2/locale/lt/LC_MESSAGES

但遺憾的是我仍然看到在我的網頁英文文本。

我使用django管理員和包括在基本Django管理員的短語被翻譯(更改密碼,密碼,編輯和其他一些)。不過,我自己定義的短語以英文顯示。

+0

你得到一些文字翻譯或沒有? – drewman

+0

無........... – aemdy

+1

你的.po文件中有沒有'fuzzy'標籤?這些行需要在編譯之前刪除。此外,您需要重新啓動服務器以使.mo文件更改生效。 – drewman

回答

4

那麼,我自己找到了答案。

我需要添加以下行settings.py

LOCALE_PATHS = (os.path.join(os.path.dirname(__file__), '../locale/'),)

+0

另外,您應該更改中間件類的順序。您應該在LocaleMiddleware之前安裝SessionMiddleware(爲此使用它來發現用戶選擇的語言),並且都應該在CommonMiddleware之前。 – ndvo

相關問題