#django #django-rest-framework
#django #django-rest-framework
Вопрос:
DRF автоматически переводит ответные сообщения для некоторых языков, если присутствует правильный заголовок ‘Accept-Language’. Он делает это, как и ожидалось, например, для испанского (‘es’) и французского (‘fr’), но, по-видимому, не для голландского (‘nl’), хотя все необходимые переводы доступны.
DRF предоставляет способ добавлять новые переводы. Но поскольку переводы уже сделаны, в этом не должно быть необходимости.
Настройки Django (без настройки ЯЗЫКОВ):
MIDDLEWARE = [
...
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
...
]
USE_I18N = True
USE_L10N = True
USE_TZ = True
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
Поведение с другими языками:
http http://localhost:8000/api/auth/password/reset/ Accept-Language:es
...
Content-Language: es
...
{
"detail": "Método "GET" no permitido."
}
Поведение с голландским:
http http://localhost:8000/api/auth/password/reset/ Accept-Language:nl
...
Content-Language: nl
...
{
"detail": "Method "GET" not allowed."
}
Ожидаемое поведение с голландским (исходный код):
http http://localhost:8000/api/auth/password/reset/ Accept-Language:nl
...
Content-Language: nl
...
{
"detail": "Methode "GET" niet toegestaan."
}
версия django: 2.1
версия djangorestframework: 3.8.0
Комментарии:
1. Возможно, это ошибка. Вы могли бы попробовать отправить проблему в их репозиторий на GitHub.
2. Только что перевел. Спасибо. github.com/encode/django-rest-framework/issues/6552