next intl
v3.25.1
Next.js 的国际化 (i18n)
国际化 (i18n) 是用户体验的重要组成部分,因此next-intl
为您提供了正确处理语言细微差别所需的所有部分。
ICU 消息语法:使用插值、基数和序数复数、基于枚举的标签选择和富文本来本地化您的消息。
日期、时间和数字:应用适当的格式,无需担心服务器/客户端差异(例如时区)。
类型安全:通过消息键的自动完成来加快开发速度,并通过编译时检查尽早发现拼写错误。
基于 Hooks 的 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> );}
// en.json{ "UserProfile": {"title": "{firstName} 的个人资料","membership": "自 {memberSince, date, short} 以来成为会员","followers": "{count,plural, ↵ =0 {没有关注者还} ↵ =1 {一个关注者} ↵ 其他 {# 关注者} ↵ }" }}
托管在 Vercel