Django 1.4.3(英語とオランダ語)でi18nを試すための新しい小さなプロジェクトを設定しています。しかし、文字列を翻訳していないので、私はステップを逃していると思います。
翻訳された文字列を取得するために何をする必要があるかを誰に教えてもらえますか?どうすればデバッグできますか?
settings.py:
gettext = lambda s: s
LANGUAGES = (
('nl', gettext('Dutch')),
('en', gettext('English')),
)
LOCALE_PATH= (
'/var/www/test/locale',
)
# django.middleware.locale.LocaleMiddleware is also included @ MIDDLEWARE_CLASSES
urls.pyファイル:
urlpatterns = i18n_patterns('',
#home
url(r'^$','bday.views.home',name="index"),
)
プロジェクト内のviews.py:
from django.utils.translation import ugettext as _
def home(request):
text=_("Welcome!")
return HttpResponse("LANG[{}], TEXT[{}]".format( request.LANGUAGE_CODE, text ) )
/ var / www / test / locale / nl / LC_MESSAGES/django。po
#: bday/views.py:16
msgid "Welcome!"
msgstr "Welkon in Nederlands"
/ var / www / test / locale / en / LC_MESSAGES/django。po
#: bday/views.py:16
msgid "Welcome!"
msgstr "Welcome in English"
メッセージはコンパイルされます、私は得ます:
./manage.py compilemessages
processing file django.po in /var/www/test/locale/nl/LC_MESSAGES
processing file django.po in /var/www/test/locale/en/LC_MESSAGES
しかし、私のアプリでは、次のようになっています。
$ curl "http://www.host.com:8000/nl/"
LANG[nl], TEXT[Welcome!]
$ curl "http://www.host.com:8000/en/"
LANG[en], TEXT[Welcome!]