1

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!]
4

1 に答える 1

1

LOCALE_PATHSを設定しましたsettings.pyか?

これは、プロジェクトディレクトリに翻訳がある場合にのみ適用されます。

于 2013-01-15T18:00:25.003 に答える