Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Початкова документація"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.