Нам нужен API i18n, который поддерживает множество языков в своих запросах. Каков наилучший способ использования заголовка «Accept-Languages»? Я думаю о создании коллекции для каждого языка и сделать прозрачный запрос в соответствующей коллекции. Или вы считаете, что лучше жестко кодировать язык в uri?Прозрачный API интернационализации с Python EVE
1
A
ответ
2
Вы можете попробовать эту флягу фрагмент кода: http://flask.pocoo.org/snippets/128/ В любом случае с помощью Accept-Language заголовок не хорошо для этого и лучше использовать куки, но вы можете сделать возврат к информации этого заголовка, если куки не существует, то, чтобы получить содержимое заголовка, может использовать flask.request.headers.get('Accept-Language')
, но имейте в виду, что этот заголовок может содержать не один язык, но, например, что-то вроде этого: da, en-gb;q=0.8, en;q=0.7
Вы можете использовать декоратор before_request для распознавания языка перед запросом. Что-то вроде этого:
@app.before_request
def before_request():
flask.request.lang = flask.request.cookies.get('lang')
if lang is None:
flask.request.lang = flask.request.headers.get('Accept-Language', 'en').split(' ')[0]
И чем вы можете использовать flask.request.lang
везде, где это нужно.
Смежные вопросы
- 1. Как вызвать метод с python eve api?
- 2. Невозможно возвращать данные из Python EVE API
- 3. Python Eve Управление сеансом
- 4. API интернационализации ECMAScript с узлом
- 5. Полиморфные типы с python-eve
- 6. mod_wsgi apache с python-eve
- 7. [Python EVE]: Чтение значений параметров запроса в Python EVE
- 8. Можно ли смешивать схемы Eve (Python) Mongo и Eve SQLAlchemy?
- 9. Организация создания веб-службы REST API с использованием Python Eve
- 10. Проблема с Python Eve Функция TokenAuth
- 11. Python EVE агрегация не работает
- 12. Python Eve, SQLalchemy и ForeignKey
- 13. Eve API xml to php
- 14. Не удается связаться с Eve REST API
- 15. EVE Elastic for Rest API
- 16. Python Eve MONGO_DBNAME против MONGO_AUTHDBNAME
- 17. Python-Eve MongoDB Агрегация с ISODate
- 18. Python Eve - где положение с помощью ObjectID
- 19. вызов javascript-процедуры с python-eve
- 20. Python Eve с пользовательским веб-сервером
- 21. Добавление ссылок на ресурс API python-eve, реализующий HATEOAS
- 22. Как получить атрибут _version в python-eve?
- 23. Настройка конфигурации авторизации MongoDB в Python-Eve
- 24. python eve - вернуть ответ на предварительный запрос
- 25. EVE REST- Проблема с AuthToken в python Ошибка Eve framework 401
- 26. Python EVE: - Блокирование метода POST и включение метода PUT для некоторых конечных точек в Python EVE
- 27. Лучший способ инициализации mongodb с eve python lib
- 28. Получить элемент, содержащий Hyphen-Eve
- 29. Eve online api получить объем объекта
- 30. Неблокирующие звонки с использованием Tornado и Python Eve
Спасибо, Eugene. Почему лучше печенье? Я знаю, как определить язык, но проблема в том, что я думаю, что нам нужны разные коллекции (один для языка, поэтому я могу использовать текстовые индексы), поэтому, если клиент принимает «en», действие должно перейти в коллекцию английского языка, и если он принимает «es», он должен пойти, например, в испанскую коллекцию. Если нет, клиент должен явно указать английский, испанский, французский. –