公式ドキュメントを参考にしてDjangoでローカライズを行おうとしております。

https://docs.djangoproject.com/en/1.6/topics/i18n/translation/#the-set-language-redirect-view

urls.py

(r'^localize/', welcome_translated),

を追加。

settings.pyには

MIDDLEWARE_CLASSES = (
    'django.middleware.locale.LocaleMiddleware', # localize

のように追加。

さらにこれらはどちらもTrueにしました。

USE_I18N = True
USE_L10N = True

更に、今回使うjaの設定方法がドキュメントによって違うので

from django.utils.translation import ugettext_lazy as _

LANGUAGES = (
    ('ja', _('Japanese')),
    ('en', _('English')),
)

gettext = lambda s: s
LANGUAGES = (
    ('ja', gettext('Japanese')),
    ('en', gettext('English')),
)

を両方試しました。※違いがわかりません。

views.pyには、先ほどのurls.pyから呼ばれる最小限の以下のコードを追加しました。

from django.http import HttpResponse
from django.utils.translation import get_language, activate, ugettext_lazy as _

def welcome_translated(request):
    language = 'ja'
    cur_language = get_language()

    try:
        activate(language)
        text = _("login")
    finally:
        activate(cur_language)

    return HttpResponse(text) # これがきちんとログインと出るべき

直打ちで'ja'をactivateしており、

locale/ja/LC_MESSAGES/django.po

もあり、

msgid "login"
msgstr "ログイン"

のように設定しています。

しかしながら、Webブラウザでは「login」が表示されてしまいます。
「ログイン」が出るはずです。

しかし、テンプレートでも

{% load i18n %}
{% trans "title" %}

とやっても一向に「ログイン」が表示されません。

ドキュメントの例には、

Calling this function with the value ‘de’ will give you "Willkommen"

とあったので、そもそもdjango.poに自分で設定するものではなく、何らかの形で自動的に変換するものかと思い、

'de'を設定して、「welcome」にしたら、ドイツ語の「Willkommen」が表示されるのかと思いましたが、「welcome」がそのまま表示されてしまいました。
なぜでしょうか?

ご教授よろしくお願いします。