プロジェクトで複数の翻訳を使用しています
そのために、設定ファイルを次のように更新しました
LANGUAGE_CODE = 'en-us'
gettext = lambda s: s
LANGUAGES = (
('es', gettext('Spanish')),
('en', gettext('English')),
)
LOCALE_PATHS = (
'/mnt/aviesta/pythondev/django/locale',
)
USE_I18N = 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.locale.LocaleMiddleware',
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.request",
)
そして、私のテンプレートファイルは次のとおりです。
{% load i18n %}
{% trans "Hello" %}
<p>Already a user <a href="/login/"><b>{% trans "login here" %}</b></a></p>
その後、アプリと並行してロケールフォルダーを作成し、その中に特定の言語フォルダーを作成します: django-admin.py makemessages -l es .po ファイルを作成し、この .po ファイルを次のように更新します。
#: customer_reg/customer_register.html:14
msgid "Hello"
msgstr "¡Hola"
#: customer_reg/customer_register.html:17
msgid "login here"
msgstr "ingresa aquí"
そして最後に、メッセージ django-admin.py compilemessagesをコンパイルしました
しかし、私の文字列 "hello" と "login here" は英語のままで、翻訳されていません。