Как я могу перевести страницу с определенным языком для пользователя с помощью Flask-Babel? Я могу перевести все настройки пользовательских страниц: «app.config ['BABEL_DEFAULT_LOCALE'] = 'en'". Как я могу перевести его на одного пользователя?Flask-babel: перевод на одного пользователя
2
A
ответ
5
Смотрите документацию: http://pythonhosted.org/Flask-Babel/#configuration:
from flask import g, request
@babel.localeselector
def get_locale():
# if a user is logged in, use the locale from the user settings
user = getattr(g, 'user', None)
if user is not None:
return user.locale
# otherwise try to guess the language from the user accept
# header the browser transmits. We support de/fr/en in this
# example. The best match wins.
return request.accept_languages.best_match(['de', 'fr', 'en'])
Вы можете получить локаль от пользователя в базе данных, из URL-адрес, имя домена или субдомена, от запроса пользователя заголовков. У вас может быть собственный метод определения локали, но вам нужен языковой стандарт с babel.localeselector
. Если babel.localeselector
не может получить локаль, тогда он использует стандартную локаль в BABEL_DEFAULT_LOCALE
.
Когда вы получите правильную локаль, вам также необходимо создать перевод .po
и .mo
для каждой поддерживаемой локали. Не забывайте, что каждая переведенная строка должна быть отмечена как для перевода.
Смежные вопросы
- 1. Jomsocial перевод с одного сервера на другой
- 2. перевод одного языка другому?
- 3. Перевод текста ввода пользователя
- 4. перевод рисунка с одного jкомпонента на другой
- 5. Перевод «Учетная запись пользователя отключена».
- 6. Сумма заказа на одного пользователя
- 7. Одиночный подсчет на одного пользователя
- 8. Создание субдомена на одного пользователя
- 9. Перевод в Magento из одного файла
- 10. Запрос на LDAP Powershell на одного пользователя
- 11. Вручную перевод кода с одного языка на другой
- 12. Как проверить перевод кода с одного клиента на другой
- 13. перевод не выполняется в течение одного transblock
- 14. Имя пользователя "username" не существует. перевод
- 15. Фоновая задача - перевод строки на основе языка пользователя
- 16. Как сделать перевод с локального на UTC пользователя Json?
- 17. Запись пользователя Вход и перевод текста iPhone
- 18. Передача хэша на i18n перевод
- 19. Одиночество одного пользователя одного пользователя (все объекты схемы) другому пользователю
- 20. Многие JID для одного пользователя на XMPP
- 21. Отслеживать количество устройств на одного пользователя
- 22. Список всех сетевых принтеров на одного пользователя
- 23. Node.js один сеанс на одного пользователя
- 24. Управление очередями Beanstalkd на одного пользователя
- 25. Отслеживание текущего каталога на одного пользователя
- 26. Laravel один сеанс на одного пользователя
- 27. Сохранить данные на iPhone для одного пользователя
- 28. Результаты запроса кэширования на одного пользователя
- 29. Настроить Ruby Guardfile на одного пользователя
- 30. Рельсы, обслуживающие файлы на одного пользователя