Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
История версий
- "Инициализация истории"v9.0.013.06.2026
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Миграция с next-intl на Intlayer
Для полного и подробного пошагового учебника см. наше полное руководство по миграции next-intl.
Миграция с next-intl на Intlayer позволяет вам полностью сохранить маршрутизацию и синтаксис приложения.
Что делать
Выполните следующую команду в вашем репозитории:
Копировать код в буфер обмена
Это создаст intlayer.config.ts. В вашем next.config.ts, используйте обертку плагина для беспрепятственного впрыскивания псевдонимов next-intl в @intlayer/next-intl.
Копировать код в буфер обмена
Что происходит под капотом
Обертка bundler заменяет переводы, но оставляет функции next-intl/navigation нетронутыми (например, Link, redirect, usePathname).
Под капотом:
- ICU runtime: Множественное число (
=0,one,other), select/selectordinal, аргументы#и отформатированные аргументы ({ts, date, long}) работают правильно, используя общий resolverresolveMessage(..., 'icu'). useTranslations()&getTranslations(): Вызовы пустой области извлекают первый сегмент ключа как правильный идентификатор словаря. Вложенные пространства имён грациозно расщепляются на пути словаря и префиксы.- Форматирование Rich: Оба
t.rich()иt.markup()полностью изначально реализованы, преобразуя HTML-подобные узлы в отображаемые куски React. useFormatter:relativeTime,list,dateTimeRangeи именованные форматы из конфигурации моста к основным встроенным форматерамIntl.
