Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
История версий
- "Инициализация истории"v5.5.1029.06.2025
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Документация: функция t в hono-intlayer
Функция t в пакете hono-intlayer является основным инструментом для предоставления локализованных ответов в вашем приложении Hono. Она упрощает интернационализацию (i18n), динамически выбирая контент на основе предпочтительного языка пользователя.
Обзор
Функция t используется для определения и получения переводов для заданного набора языков. Она автоматически определяет соответствующий язык для возврата на основе настроек запроса клиента, таких как заголовок Accept-Language. Если предпочтительный язык недоступен, она плавно переключается на локаль по умолчанию, указанную в вашей конфигурации.
Ключевые особенности
- Динамическая локализация: автоматически выбирает наиболее подходящий перевод для клиента.
- Возврат к локали по умолчанию: переключается на локаль по умолчанию, если предпочтительный язык клиента недоступен, обеспечивая непрерывность пользовательского опыта.
- Легкость и скорость: разработана для высокопроизводительных приложений с минимальными накладными расходами.
- Поддержка строгого режима: обеспечивает строгое соблюдение объявленных локалей для надежной работы.
Сигнатура функции
Параметры
translations: объект, в котором ключи, коды локалей (например,en,fr,ru), а значения, соответствующие переведенные строки.
Возвращаемое значение
- Строка, представляющая контент на предпочтительном языке клиента.
Загрузка обработчика запросов интернационализации
Чтобы обеспечить корректную работу функций интернационализации, предоставляемых hono-intlayer, вы должны загрузить промежуточное ПО (middleware) интернационализации в начале вашего приложения Hono. Это активирует функцию t и обеспечит правильную обработку определения локали и перевода.
Разместите промежуточное ПО app.use("*", intlayer()) перед любыми маршрутами в вашем приложении, чтобы все маршруты могли использовать преимущества интернационализации:
Почему это необходимо
- Определение локали: промежуточное ПО
intlayerобрабатывает входящие запросы для определения предпочтительной локали пользователя на основе заголовков, файлов cookie или других настроенных методов. - Контекст перевода: настраивает необходимый контекст для правильной работы функции
t, гарантируя, что переводы возвращаются на правильном языке. - Предотвращение ошибок: без этого промежуточного ПО использование функции
tприведет к ошибкам во время выполнения, так как необходимая информация о локали будет недоступна.
Примеры использования
Базовый пример
Предоставление локализованного контента на разных языках:
Запросы клиентов:
- Клиент с
Accept-Language: frполучитBienvenue!. - Клиент с
Accept-Language: ruполучитДобро пожаловать!. - Клиент с
Accept-Language: deполучитWelcome!(локаль по умолчанию).
Обработка ошибок
Предоставление сообщений об ошибках на нескольких языках:
Использование вариантов локали
Укажите переводы для конкретных вариантов локалей:
Расширенные темы
Механизм возврата (Fallback)
Если предпочтительная локаль недоступна, функция t вернется к локали по умолчанию, определенной в конфигурации:
Принудительное использование строгого режима
Настройте функцию t для обеспечения строгого соблюдения объявленных локалей:
Открыть таблицу в модальном окне для четкого просмотра всех данных
| Режим | Поведение |
|---|---|
strict | Для всех объявленных локалей должны быть предоставлены переводы. Отсутствие перевода вызовет ошибку. |
inclusive | Объявленные локали должны иметь переводы. Отсутствие перевода вызывает предупреждение, но контент принимается. |
loose | Принимается любая существующая локаль, даже если она не объявлена. |
Интеграция с TypeScript
Функция t является типобезопасной при использовании с TypeScript. Определите типобезопасный объект переводов:
Общие ошибки и устранение неполадок
Открыть таблицу в модальном окне для четкого просмотра всех данных
| Проблема | Причина | Решение |
|---|---|---|
Функция t не работает | Промежуточное ПО не загружено | Убедитесь, что app.use("*", intlayer()) добавлено перед маршрутами. |
| Ошибка отсутствия перевода | Включен строгий режим без всех локалей | Предоставьте все необходимые переводы. |
Заключение
Функция t, мощный инструмент для интернационализации бэкенда. Эффективно используя ее, вы можете создать более инклюзивное и удобное приложение для глобальной аудитории. Для получения информации о расширенном использовании и детальных параметрах конфигурации обратитесь к документации.