我做了一个简单的模板
<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
,但是显示的是“hello”而不是“chào”或“hi”。为什么我不能翻译变量
1条答案
按热度按时间q0qdq0h21#
我尝试使用标记
translate
,如果将变量greeting
作为“hello”发送,它就可以工作,而对于blocktranslate
,我需要_("hello")