Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
История версий
- "Обновление использования API useIntlayer в Solid для прямого доступа к свойствам"v8.9.004.05.2026
- "Init doc"v8.4.520.03.2026
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Intlayer со Storybook
Содержание
Почему Intlayer лучше альтернатив?
По сравнению с основными решениями, такими как «storybook-react-i18next» или «i18next», Intlayer — это решение со встроенными оптимизациями, такими как:
Intlayer оптимизирован для идеальной работы с Storybook, предлагая многоязычные декораторы историй, переключение языковых стандартов и все функции, необходимые для масштабирования интернационализации (i18n) в вашей дизайн-системе.
Вместо загрузки огромных файлов JSON на свои страницы загружайте только необходимый контент. Intlayer помогает уменьшить размер бандла и страниц до 50 %.
Определение области содержимого вашего приложения облегчает обслуживание крупномасштабных приложений. Вы можете дублировать или удалить отдельную папку функций, не утруждав себя мысленным бременем проверки всей кодовой базы контента. Кроме того, Intlayer полностью типизирован, что обеспечивает точность вашего контента.
Совместное размещение контента уменьшает контекст, необходимый для моделей большого языка (LLM). Intlayer также поставляется с набором инструментов, таких как CLI для проверки отсутствия переводов,LSP, MCP, и agent skills, чтобы сделать работу разработчика (DX) еще более удобной для агентов ИИ.
Используйте автоматизацию для перевода в своем конвейере CI/CD, используя LLM по вашему выбору за счет вашего поставщика ИИ. Intlayer также предлагает компилятор для автоматизации извлечения контента, а также веб-платформу, которая помогает переводить в фоновом режиме.
Подключение больших файлов JSON к компонентам может привести к проблемам с производительностью и реактивностью. Intlayer оптимизирует загрузку контента во время сборки (build time).
Intlayer — это больше, чем просто решение i18n. Он предоставляет автономный визуальный редактор и полный CMS, чтобы помочь вам управлять многоязычным контентом в реальном времени, упрощая сотрудничество с переводчиками, копирайтерами и другими членами команды. Контент может храниться локально и/или удаленно.
Зачем использовать Intlayer со Storybook?
Storybook - это отраслевой стандарт для разработки и документирования компонентов пользовательского интерфейса в изоляции. Совмещение его с Intlayer позволяет:
- Предварительно просматривать каждый язык прямо в Storybook с помощью переключателя в панели инструментов.
- Обнаруживать недостающие переводы до того, как они попадут в продакшн.
- Документировать многоязычные компоненты с использованием реального, типизированного контента вместо жестко закодированных строк.
Пошаговая настройка
Установка зависимостей
bashКопировать кодКопировать код в буфер обмена
Показать все данные таблицыОткрыть таблицу в модальном окне для четкого просмотра всех данных
Пакет Роль intlayerЯдро - конфигурация, компиляция контента, CLI react-intlayerПривязки React - IntlayerProvider, хукuseIntlayervite-intlayerПлагин Vite - отслеживает и компилирует файлы деклараций контента Создание конфигурации Intlayer
Создайте
intlayer.config.tsв корне вашего проекта (или внутри вашего пакета дизайн-системы):intlayer.config.tsКопировать кодКопировать код в буфер обмена
Полный список опций см. в справочнике по конфигурации.
Добавление плагина Vite в Storybook
Хук
viteFinalв Storybook позволяет расширить внутреннюю конфигурацию Vite. Импортируйте и добавьте туда плагинintlayer():.storybook/main.tsКопировать кодКопировать код в буфер обмена
Плагин
intlayer()отслеживает ваши файлы*.content.tsи автоматически перестраивает словари при любых изменениях во время разработки в Storybook.Добавление декоратора `IntlayerProvider` и переключателя языков
Файл
previewв Storybook - подходящее место для обертывания каждой истории вIntlayerProviderи добавления переключателя языков в панель инструментов:.storybook/preview.tsxКопировать кодКопировать код в буфер обмена
Значения
localeдолжны соответствовать языкам, объявленным в вашемintlayer.config.ts.
Установка зависимостей
bashКопировать кодКопировать код в буфер обмена
Создание конфигурации Intlayer
Создайте
intlayer.config.tsв корне вашего проекта:intlayer.config.tsКопировать кодКопировать код в буфер обмена
Настройка Webpack в Storybook
Для настроек Storybook на базе Webpack (например,
@storybook/react-webpack5) расширьте конфигурацию webpack черезwebpackFinal, чтобы добавить алиасы и загрузчик Intlayer:.storybook/main.tsКопировать кодКопировать код в буфер обмена
Добавление декоратора `IntlayerProvider` и переключателя языков
Аналогично настройке Vite - добавьте декоратор и глобальный тип языка в
.storybook/preview.tsx:.storybook/preview.tsxКопировать кодКопировать код в буфер обмена
Объявление контента
Создайте файл *.content.ts рядом с каждым компонентом. Intlayer автоматически подхватит его во время компиляции.
Копировать код в буфер обмена
import { type Dictionary, t } from "intlayer";
const copyButtonContent = {
key: "copy-button",
content: {
label: t({
en: "Copy content",
fr: "Copier le contenu",
es: "Copiar contenido",
}),
},
} satisfies Dictionary;
export default copyButtonContent;
Более подробную информацию о форматах объявлений контента и функциях см. в документации по объявлению контента.
Использование useIntlayer в компоненте
Копировать код в буфер обмена
useIntlayer возвращает скомпилированный словарь для текущего языка, предоставленного ближайшим IntlayerProvider. Переключение языка в панели инструментов Storybook автоматически перерисовывает историю с обновленными переводами.
Написание историй для интернационализированных компонентов
С настроенным декоратором IntlayerProvider ваши истории работают так же, как и раньше. Панель инструментов управляет активным языком для всего холста:
Копировать код в буфер обмена
Каждая история наследует глобальный параметр locale из панели инструментов, поэтому вы можете проверить каждый язык без изменения кода самой истории.
Тестирование переводов в историях
Используйте функции play в Storybook, чтобы подтвердить правильность отображения переведенного текста для заданного языка:
Копировать код в буфер обмена
