Интернационализация (i18n) для Next.js
Интернационализация (i18n) — важная часть пользовательского опыта, поэтому next-intl
предоставляет вам все необходимое для правильного понимания языковых нюансов.
Синтаксис сообщений ICU : локализуйте свои сообщения с помощью интерполяции, кардинального и порядкового множественного числа, выбора меток на основе перечисления и форматированного текста.
Даты, время и числа : применяйте соответствующее форматирование, не беспокоясь о различиях между сервером и клиентом, таких как часовые пояса.
Типобезопасность : ускорьте разработку с помощью автодополнения ключей сообщений и заранее выявите опечатки с помощью проверок во время компиляции.
API на основе хуков : изучите единый API, который можно использовать в вашей кодовой базе для преобразования переводов в простые строки или форматированный текст.
Next.js-родной и одержимый производительностью : маршрутизатор приложений, серверные компоненты, статический рендеринг — выберите правильный инструмент для правильной работы, next-intl работает везде.
Интернационализированная маршрутизация : укажите уникальные пути для каждого языка и при необходимости локализуйте пути для поисковой оптимизации.
// UserProfile.tsximport {useTranslations} from 'next-intl'; экспортировать функцию по умолчанию UserProfile({user}) { const t = useTranslations('UserProfile'); return (<section> <h1>{t('title', {firstName: user.firstName})</h1> <p>{t('membership', {memberSince: user.memberSince})</p > <p>{t('подписчики', {count: user.numFollowers})</p></section> );}
// ru.json{ "UserProfile": {"title": "Профиль пользователя {firstName}","membership": "Участник с {memberSince, date, short}", "followers": "{count, множественное число, ↵ =0 {Нет подписчиков пока} ↵ =1 {Один подписчик} ↵ Other {# подписчиков} ↵ }" }}
Хостинг на Верселе