2025-10-14 16:11:12 +05:00
|
|
|
|
# utils.i18n
|
|
|
|
|
|
|
|
|
|
|
|
Утилиты локализации и зависимости переводов для FastAPI.
|
|
|
|
|
|
|
|
|
|
|
|
Содержимое модуля:
|
|
|
|
|
|
: - get_translations(): фабрика зависимости FastAPI, считывающая локаль из
|
2025-10-21 09:20:50 +05:00
|
|
|
|
query-параметра locale, cookie locale или заголовка Accept-Language
|
|
|
|
|
|
(по приоритету), с дефолтом ru. Возвращает функцию-зависимость, которая
|
2025-10-14 16:11:12 +05:00
|
|
|
|
подгружает babel.support.Translations из каталога SRV/locales.
|
|
|
|
|
|
- \_(): удобная обёртка для получения перевода строки с использованием
|
|
|
|
|
|
текущей локали (или дефолтного ru, если контекст запроса не передан).
|
|
|
|
|
|
|
|
|
|
|
|
Особенности:
|
|
|
|
|
|
: - При отсутствии словаря перевода для выбранной локали выполняется fallback на
|
|
|
|
|
|
русскую локаль, что гарантирует наличие строк интерфейса.
|
|
|
|
|
|
- Локаль определяется только по первому языку из Accept-Language (без
|
|
|
|
|
|
региональных суффиксов) для упрощения.
|
|
|
|
|
|
- Модуль ведёт отладочное логирование выбора и загрузки локали.
|
|
|
|
|
|
|
|
|
|
|
|
### utils.i18n.get_translations() → callable
|
|
|
|
|
|
|
|
|
|
|
|
Создаёт зависимость для загрузки переводов на основе заголовка Accept-Language
|
|
|
|
|
|
или параметра запроса ‘locale’. По умолчанию используется русский язык.
|