Переменная внутри blocktranslate не отображается при создании сообщений
Я делаю простой шаблон следующим образом
<button class="btn">{% blocktranslate %}{{ greeting }} Quy!{% endblocktranslate %}</button>
с greeting
равно hello
.
Я добавил следующие MIDDLEWARE
, и LANGUAGE_CODE = 'vi'
. Все остальное оставлено по умолчанию.
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
и
LANGUAGE_CODE = "vi"
TIME_ZONE = 'UTC'
USE_I18N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.1/howto/static-files/
STATIC_URL = 'static/'
# Default primary key field type
# https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
LANGUAGES = [
('vi', _('Vietnamese')),
('en', _('English')),
]
После выполнения django-admin makemessages -l vi
создается файл .po
msgid "%(greeting)s Quy!"
msgstr ""
Я добавил
# vi/LC_MESSAGES/django.po
msgid "hello"
msgstr "chào"
или
# en/LC_MESSAGES/django.po
msgid "hello"
msgstr "hi"
и затем запускаю django-admin compilemessages
, но вместо "chào" или "hi" появляется "hello". Почему я не могу перевести переменную
Я пробую с тегом translate
, и он работает, если я посылаю переменную greeting
как "hello", тогда как для blocktranslate
мне нужно _("hello")