为什么我在 django i18n 中的翻译不起作用

Why my translations in django i18n don't work

我一直在学习 3 个不同的 django 文本翻译教程,其中 none 个我的翻译成功了,但是我执行的步骤与教程中的步骤完全相同。 Django 只是不翻译我的文本,它没有任何错误。我最后一次尝试的是这门课程:https://www.youtube.com/watch?v=AlJ8cGbk8ps。但为了确保我在下面添加我的代码

settings.py

# Internationalization
# https://docs.djangoproject.com/en/4.0/topics/i18n/

LANGUAGE_CODE = 'es'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_TZ = True

views.py

from django.utils.translation import gettext as _

# Create your views here.
def index(request):
    context = {
        'hello':_('Hello'),
    }
    
    return render(request, 'index.html', context)

index.html

{% load i18n %}

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <h1>{{ hello }}</h1>
    <h2>{% trans "My name is Dawid" %}</h2>

</body>
</html>

我的语言环境文件夹如下所示:

我想我还应该提到我使用虚拟环境,但是当我关闭它时它也不起作用。 无论我将 LANGUAGE_CODE 切换为 es 还是 pl 都没有效果。我也整理了一下。

尝试将此添加到您的 settings.py:

LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale')
)

会解决的!