Maison > Questions et réponses > le corps du texte
Je voudrais vous demander à tous, car j'ai appris Django récemment et quand j'ai appris l'internationalisation de Django, un petit problème est survenu :
Peu importe comment je modifie le fichier django.po, le supprime, le régénére, redémarre le serveur , la page affichée à chaque fois est toujours ma première. L'apparence du fichier .po utilisé cette fois/(ㄒoㄒ)/~~settings.py
est la suivante :
LANGUAGE_CODE = 'zh-CN'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
LANGUAGES = (
('en', ('English')),
('zh_CN', ('中文简体')),
('zh-hant', ('中文繁體')),
)
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
Le middleware correspondant a également été ajouté :
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
La fonction testée est la suivante dans views.py :
def test1_view(request):
n = 2
weekdays = [_('Monday'), _('Tuesday'), _('Wednesday'), _('Thursday'), _('Friday'), _('Saturday'),
_('Sunday')]
return HttpResponse(weekdays[n])
En utilisant $ python manage.py makemessages -l zh_CN
, le fichier généré dans /locale/zh_CN/LC_MESSAGES/django.po est modifié comme suit :
#: testdeploy/views.py:64
msgid "Monday"
msgstr "一"
#: testdeploy/views.py:64
msgid "Tuesday"
msgstr "二"
#: testdeploy/views.py:64
msgid "Wednesday"
msgstr "三"
#: testdeploy/views.py:64
msgid "Thursday"
msgstr "四"
#: testdeploy/views.py:64
msgid "Friday"
msgstr "五"
#: testdeploy/views.py:64
msgid "Saturday"
msgstr "六"
#: testdeploy/views.py:65
msgid "Sunday"
msgstr "七"
Et également supprimé #,fuzzy
,利用$ django-admin.py compilemessages
et compilé, et le résultat renvoyé est toujours celui du premier test :
De plus, même si je supprime le fichier .po, il peut toujours être affiché après le redémarrage du serveur. Pourquoi ? Y a-t-il encore des caches comme les cookies qui doivent être effacés ?
Merci à tous~
阿神2017-05-18 11:00:02
J'ai envoyé un e-mail au professeur Tu via l'école Ziqiang pour obtenir des conseils. Le problème est que settings.py est défini sur
.LANGUAGES = (
('en', ('English')),
('zh-CN', ('中文简体')),
('zh-TW', ('中文繁體')),
)
Une fois généré, il est toujours généré en fonction du trait de soulignement, c'est-à-dire exécuter $ python manage.py makemessages -l zh_CN