Django使用未翻译的字符串而不是翻译。

3

我有一个小型的Django应用程序,我尝试将其本地化。 在urls.py文件中,我有以下内容:

urlpatterns += i18n_patterns(
path('add_request/',AddRequest.as_view(),name='add_request'),
path('add_offer/', AddOffer.as_view(), name='add_offer'),
)

在settings.py文件中,我有如下配置

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

并且

LANGUAGE_CODE = 'de'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True
LOCAL_PATHS = (
    os.path.join(BASE_DIR, 'locale/'),
)

USE_TZ = True
LANGUAGES= [
    ('en', 'English'),
    ('de', 'German')
]

我已在models.py(verbose_name)、forms.py(label)和template中标记需要翻译的字符串。
我通过以下方式提取了po文件:
django-admin makemessages -l en
django-admin makemessages -l de

翻译它们并运行

django-admin compilemessages

现在我有用于URL的前缀de/和en/。区域设置似乎已正确设置,因为日期输入字段更改为正确的日期格式,但未使用翻译。

1个回答

3

我是个傻瓜。当然应该使用LOCALE_PATHS,而不是LOCAL_PATHS。


是的,因为它是本地区域路径;-) - Cyrille Pontvieux

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接