我有以下模板:Django的國際化問題
{% load i18n %}
{% trans "Welcome to my site!" %}
我用的RequestContext,呼籲makemessages,編輯.po文件和編譯的消息,但一切都沒有翻譯,我只看到了同樣的消息,即使我加載頁面。從.po文件
msgid "Welcome to my site!"
msgstr "blahblah"
我有以下模板:Django的國際化問題
{% load i18n %}
{% trans "Welcome to my site!" %}
我用的RequestContext,呼籲makemessages,編輯.po文件和編譯的消息,但一切都沒有翻譯,我只看到了同樣的消息,即使我加載頁面。從.po文件
msgid "Welcome to my site!"
msgstr "blahblah"
提取要獲得翻譯模板顯示:
你settings.py
應具備以下條件:
USE_I18N = True
USE_L10N = True # optional, but recommended
LANGUAGE_CODE = 'en-us' # Or whatever language you want as default
你應該有'django.core.context_processors.i18n'
在TEMPLATE_CONTEXT_PROCESSORS
你應該添加'django.middleware.locale.LocaleMiddleware'
您MIDDLEWARE_CLASSES
(後'django.contrib.sessions.middleware.SessionMiddleware'
)
確保你的模板有{% load i18n %}
頂部附近的某個地方。
一旦你翻譯和編譯了消息,要真正得到翻譯顯示,你需要告訴django你需要哪種語言。要做到這一點,請執行以下操作之一:
django_language
在會話中鍵入所需的語言代碼。django_language
的cookie設置爲所需的語言。如果畢竟以上,你沒有得到任何翻譯顯示 - 然後django無法找到你的消息文件。
是的,問題是中間件類的順序。 – aemdy
也許你有多種語言定義 – szaman
是的,我有兩個,我已經爲他們倆調用了makemessages。 – aemdy