Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
История версий
- "Начальная документация"v8.0.030.01.2026
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Документация: Функция t в adonis-intlayer
Функция t в пакете adonis-intlayer является основным инструментом для предоставления локализованных ответов в вашем приложении AdonisJS. Она упрощает интернационализацию (i18n), динамически выбирая контент на основе предпочтительного языка пользователя.
Обзор
Функция t используется для определения и получения переводов для заданного набора языков. Она автоматически определяет соответствующий язык для возврата на основе настроек запроса клиента, таких как заголовок Accept-Language. Если предпочтительный язык недоступен, она плавно переключается на локаль по умолчанию, указанную в вашей конфигурации.
Ключевые особенности
- Динамическая локализация: Автоматически выбирает наиболее подходящий перевод для клиента.
- Резервная локаль (Fallback): Возвращается к локали по умолчанию, если предпочтительный язык клиента недоступен, обеспечивая непрерывность пользовательского опыта.
- Асинхронный контекст: Беспрепятственно работает в рамках жизненного цикла запроса AdonisJS с использованием Async Local Storage.
- Поддержка TypeScript: Обеспечивает типизацию для ваших переводов.
Сигнатура функции
Копировать код в буфер обмена
t(translations: Record<string, any>): any;Параметры
translations: Объект, где ключами являются коды локалей (например,en,fr,es), а значениями, соответствующий переведенный контент.
Возвращаемое значение
- Контент, соответствующий предпочтительному языку клиента.
Загрузка промежуточного ПО (Middleware)
Чтобы функция t работала правильно, вы должны зарегистрировать промежуточное ПО intlayer в вашем приложении AdonisJS.
Копировать код в буфер обмена
router.use([() => import("adonis-intlayer/middleware")]);Примеры использования
Базовый пример
Копировать код в буфер обмена
import router from "@adonisjs/core/services/router";import { t } from "adonis-intlayer";router.get("/", async () => { return t({ en: "Welcome!", fr: "Bienvenue !", es: "¡Bienvenido!", });});Использование в контроллерах
Копировать код в буфер обмена
import type { HttpContext } from "@adonisjs/core/http";import { t } from "adonis-intlayer";export default class ExampleController { async index({ response }: HttpContext) { return response.send( t({ en: "Hello from controller", fr: "Bonjour из контроллера", }) ); }}Продвинутые темы
Механизм Fallback
Если предпочтительная локаль недоступна, функция t вернется к локали по умолчанию, определенной в вашем файле intlayer.config.ts.
Копировать код в буфер обмена
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [ Locales.ENGLISH, Locales.RUSSIAN, Locales.JAPANESE, Locales.FRENCH, Locales.KOREAN, Locales.CHINESE, Locales.SPANISH, Locales.GERMAN, Locales.ARABIC, Locales.ITALIAN, Locales.ENGLISH_UNITED_KINGDOM, Locales.PORTUGUESE, Locales.HINDI, Locales.TURKISH, Locales.POLISH, Locales.INDONESIAN, Locales.VIETNAMESE, Locales.UKRAINIAN, ], defaultLocale: Locales.ENGLISH, },};export default config;Интеграция с TypeScript
Функция t является типизированной при использовании с определенными словарями. Для получения более подробной информации обратитесь к документации TypeScript.