Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Ця документація застаріла, базову версію оновлено станом на 29 серпня 2026 р..
Перейти до англійської версії документаІсторія версій
- "Оновлення використання API useIntlayer у Solid для прямого доступу до властивостей"v8.9.004.05.2026
- "Ініціалізація історії"v8.0.030.12.2025
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
Перекладіть свій бекенд AdonisJS за допомогою Intlayer | Інтернаціоналізація (i18n)
adonis-intlayer, це потужний пакет інтернаціоналізації (i18n) для додатків AdonisJS, розроблений для того, щоб зробити ваші бекенд-сервіси доступними в усьому світі, надаючи локалізовані відповіді на основі вподобань клієнта.
Практичні випадки використання
Відображення помилок бекенда мовою користувача: Коли виникає помилка, відображення повідомлень рідною мовою користувача покращує розуміння та зменшує розчарування. Це особливо корисно для динамічних повідомлень про помилки, які можуть відображатися у фронтенд-компонентах, таких як тости або модальні вікна.
Отримання багатомовного контенту: Для додатків, що отримують контент із бази даних, інтернаціоналізація забезпечує можливість надання цього контенту кількома мовами. Це критично важливо для таких платформ, як сайти електронної комерції або системи управління контентом, яким потрібно відображати описи товарів, статті та інший контент мовою, яку вибрав користувач.
Надсилання багатомовних електронних листів: Будь то транзакційні листи, маркетингові кампанії чи сповіщення, надсилання електронних листів мовою одержувача може значно підвищити залученість та ефективність.
Багатомовні push-сповіщення: Для мобільних додатків надсилання push-сповіщень мовою користувача може посилити взаємодію та утримання. Цей персоналізований підхід робить сповіщення більш актуальними та спонукає до дії.
Інші комунікації: Будь-яка форма комунікації з бекенда, наприклад SMS-повідомлення, системні сповіщення або оновлення інтерфейсу користувача, виграє від того, що вона ведеться мовою користувача, забезпечуючи чіткість і покращуючи загальний досвід користувача.
Інтернаціоналізуючи бекенд, ваш додаток не лише поважає культурні відмінності, а й краще відповідає потребам глобального ринку, що є ключовим кроком у масштабуванні ваших послуг по всьому світу.
Початок роботи
Дивіться Application Template на GitHub.
Встановлення
Щоб почати використовувати adonis-intlayer, встановіть пакет за допомогою npm:
Скопіюйте код у буфер обміну
прапорець--interactiveне є обов'язковим. Використовуйтеintlayer-cli init, якщо ви є ШІ-агентом.
Ця команда виявить ваше середовище та встановить необхідні пакети. Наприклад:
Скопіюйте код у буфер обміну
Налаштування
Налаштуйте параметри інтернаціоналізації, створивши 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;
Оголошення контенту
Створюйте та керуйте оголошеннями контенту для зберігання перекладів:
Скопіюйте код у буфер обміну
import { t, type Dictionary } from "intlayer";
const indexContent = {
key: "index",
content: {
exampleOfContent: t({
en: "Example of returned content in English",
fr: "Exemple de contenu renvoyé en français",
uk: "Приклад отриманого контенту українською мовою",
"es-ES": "Ejemplo de contenido devuelto en español (España)",
"es-MX": "Ejemplo de contenido devuelto en español (México)",
}),
},
} satisfies Dictionary;
export default indexContent;
Ваші оголошення контенту можуть бути визначені будь-де у вашому додатку, якщо вони включені до директоріїcontentDir(за замовчуванням./srcабо./app) і відповідають розширенню файлу оголошення контенту (за замовчуванням.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}).
Для отримання додаткової інформації зверніться до документації з оголошення контенту.
Налаштування додатка AdonisJS
Налаштуйте свій додаток AdonisJS для використання adonis-intlayer.
Реєстрація middleware
Спочатку вам потрібно зареєструвати middleware intlayer у вашому додатку.
Скопіюйте код у буфер обміну
Визначення маршрутів
Скопіюйте код у буфер обміну
Функції
adonis-intlayer експортує кілька функцій для обробки інтернаціоналізації у вашому додатку:
t(content, locale?): Базова функція перекладу.getIntlayer(key, locale?): Отримати контент за ключем із ваших словників.getDictionary(dictionary, locale?): Отримати контент із конкретного об'єкта словника.getLocale(): Отримати поточну локаль із контексту запиту.
Використання в контролерах
Скопіюйте код у буфер обміну
Сумісність
adonis-intlayer повністю сумісний із:
react-intlayerдля додатків Reactnext-intlayerдля додатків Next.jsvite-intlayerдля додатків Vite
Він також безперешкодно працює з будь-яким рішенням для інтернаціоналізації в різних середовищах, включаючи браузери та API-запити. Ви можете налаштувати middleware для визначення локалі через заголовки або кукі:
Скопіюйте код у буфер обміну
За замовчуванням adonis-intlayer інтерпретуватиме заголовок Accept-Language для визначення мови, якій надає перевагу клієнт.
Для отримання додаткової інформації про конфігурацію та розширені теми відвідайте нашу документацію.
Налаштування TypeScript
adonis-intlayer використовує потужні можливості TypeScript для покращення процесу інтернаціоналізації. Статична типізація TypeScript гарантує, що кожен ключ перекладу буде враховано, зменшуючи ризик відсутності перекладів та покращуючи підтримуваність.


Переконайтеся, що автоматично згенеровані типи (за замовчуванням у ./types/intlayer.d.ts) включені у ваш файл tsconfig.json.
Скопіюйте код у буфер обміну
Розширення VS Code
Щоб покращити свій досвід розробки з Intlayer, ви можете встановити офіційне розширення Intlayer для VS Code.
Встановити з VS Code Marketplace
Це розширення забезпечує:
- Автодоповнення для ключів перекладу.
- Виявлення помилок у реальному часі для відсутніх перекладів.
- Вбудований попередній перегляд перекладеного контенту.
- Швидкі дії для легкого створення та оновлення перекладів.
Для отримання додаткової інформації про те, як користуватися розширенням, зверніться до документації розширення Intlayer для VS Code.
Конфігурація Git
Рекомендується ігнорувати файли, згенеровані Intlayer. Це дозволяє уникнути їх коміту у ваш Git-репозиторій.
Для цього ви можете додати наступні інструкції до вашого файлу .gitignore:
Скопіюйте код у буфер обміну
Часто задавані запитання
@adonisjs/i18n: офіційний пакет AdonisJS.Intlayer: інтеграція як для бекенду, так і для сучасного фронтенду, повна типізація TypeScript, AI переклад та підтримка CMS.
Головна причина інтернаціоналізації бекенду полягає в тому, що значна частина тексту, який бачить користувач, ніколи не проходить через фронтенд: повідомлення про помилки API, транзакційні електронні листи, push-сповіщення, SMS та експорт у PDF. Вони потребують мови одержувача, яка визначається для кожного запиту, а не для всієї сесії.
Див. чому Intlayer.
Значно менше, ніж традиційні каталоги JSON. Компілятор Intlayer оптимізує словники під час збирання і не парсить їх заново під час кожного запиту, зменшуючи використання пам'яті та час холодного старту. Див. оптимізацію бандла.
Більшою мірою так. sync JSON плагін зберігає існуючі файли перекладів.
Так. sync JSON плагін зберігає ваші файли /messages/{locale}/{namespace}.json як джерело істини та генерує словники Intlayer з них в обох напрямках. sync PO плагін робить те ж саме для gettext каталогів, а файли для окремих локалей дозволяють розділити контент за мовами замість групування локалей в один файл.
Ні. Запустіть npx intlayer extract, і Intlayer прочитає ваші файли, витягне призначені для користувача рядки і створить файл .content поруч із кожним компонентом, завдяки чому ви переглядаєте diff замість копіювання рядків у каталог вручну. Див. команду extract.
Для повної автоматизації Intlayer Compiler робить те саме під час збирання та генерує словники під час кожної зміни.
П'ять інструментів, усі опціональні:
- Розширення VS Code: перехід від ключа до файлу контенту, вилучення рядків та запуск build, fill, test, push і pull із палітри команд.
- LSP сервер: перехід до визначення, перегляд перекладеного значення під час наведення та автодоповнення ключів у будь-якому редакторі з підтримкою LSP. Також обробляє виклики
i18next. - MCP сервер: надає документацію та CLI Intlayer для Cursor, VS Code, Claude Desktop, Claude Code та ChatGPT.
- Навички агента (Agent skills): спеціалізовані навички
intlayer-config,intlayer-cliтаintlayer-content. - Плагін ESLint: правило
no-raw-textвідстежує жорстко закодовані рядки.
